The present invention relates to a data transmission system for transmission of order characters, address-characters, control characters and information characters between nodes that reside in local area networks (LANs). Data transmission over LANs is done according to well defined and internationally accepted access protocol standards. The present invention is related mainly (but is not limited) to the following LAN access protocols: Token Ring protocol (also known as IEEE 802.5), and Ethernet IEEE 802.3.
All nodes that reside on one LAN share its common access protocol. Data transmission is done according to the following procedure: (1) any node that needs to send data is coupled to the transmission media that is common to all the nodes, according to the LAN access protocol; (2) once the node transmits the data, the data is sent over the transmission media, and all the connected nodes can read the transmitted data; (3) the data is sent as datagrams (packets of data), and the header of each datagram contains address characters that indicate the destination node (or nodes, if it is to be a broadcast or multicast datagram), and the source transmitting node. Even though all the connected nodes may read the datagram, only the addressed node or nodes will access the datagram.
There are two principal connection methods to interconnect two or more LANs. The first uses MAC layer interconnection and interconnection devices that use this method are called bridges and brouters. The principle of forwarding datagrams from one LAN to another is based on the address characters in the header of each datagram. These devices are called MAC-layer bridges or brouters because their filtering, forwarding and routing are based on the address and control characters that are part of the MAC (Media Access Control) sublayer, as defined by international standards. Bridges and brouters filter all datagrams that are transmitted over the LAN they are connected to. They forward to other LANs only those datagrams whose MAC destination address belongs to a LAN other than the LAN to which they are connected. While forwarding datagrams from one LAN to another, the address characters and information characters of the datagram are unchanged. Bridges differ from brouters in that brouters have the additional capabilities of limited routing over the interconnected-LAN network and additional filtering by various criteria like protocol type, message ID, etc.
The second principal connection method is network layer interconnection. The interconnection devices that use this method are called routers. Their principle of forwarding datagrams from one LAN to another is based on the networking and routing information that is present at the header of the network layer part of the datagram. The network layer is defined by international and industry standards and contains address, network, routing and control characters according to specific network layer protocol, such as (but not limited to) IP, DECNET--Network protocol, IPX, XNS. Routers forward and route to other LANs only those datagrams that are requesting to be transmitted to other LANs. The request is inserted within the network layer header of the datagram. While forwarding and routing datagrams from one LAN to another, the router might change or modify headers of the datagram within the MAC layer and network layer.
The present invention relates only to the first method, namely, MAC-layer interconnection.
MAC-layer interconnection has one main disadvantage, which is the limited capability of routing, because all decisions are based only on MAC layer information. Thus, two methods have been developed in an attempt to overcome this disadvantage. In the first, known as transparent routing, a bridge or brouter forwards a datagram to another LAN using look up tables in order to calculate the direction of the destination address. In this method, the transmitting node does not participate in the process and is ignorant of the fact that its datagram is being routed over other LANs and/or channels into another LAN. There are several routing methods that can be used to implement transparent routing, such as: the spanning tree protocol that can handle active loop topologies; distribute load sharing protocols that can handle active loop traffic; and simple forwarding algorithms that do not allow loop topologies.
The second routing method is source routing, in which a bridge or brouter looks at the source routing field of the datagram. If it is a source route datagram, it is transmitted to other LANs using the path through itself and other LANs indicated by data within a special field of the datagram. If it is an information datagram with a routing path decided by the source node, it will forward and route the datagram according to the route path directions written within that routing field.
One disadvantage of using these two routing methods is that they differ significantly one from the other. Because of that, bridges and brouters have heretofore been designed to use only one of the routing methods, not both. Thus, nodes that use source routing methods are not given the proper routing service by bridges/brouters that use the transparent routing method and vice versa. This problem is particularly serious whenever some nodes on a LAN use source routing and some nodes on the same LAN use transparent routing.
Another disadvantage which arises with the source routing method is that it cannot connect remote LANs with multiple links, since this method defines only connections of the type: bridge/brouter--LAN--bridge/brouter, which are unique. If there is only one link between two remote LANs, then the combination bridge/brouter--link--bridge/brouter is also unique and it can be used with the regular source routing method. On the other hand, if between two bridge/brouters there is more than one connecting link or path, then the source routing method needs some method to define uniquely each possible combination of bridge/brouter--link--bridge/brouter.